package com.ssy.lingxi.settle.accounts.serviceimpl;

import com.ssy.lingxi.settle.accounts.service.IApplyAmountRowService;
import org.springframework.stereotype.Service;

/**
 * 业务请款单行信息接口定义实现
 * @author Saske
 * @date 2021/12/20
 * @version 2.0.0
 */
@Service
public class ApplyAmountRowServiceImpl implements IApplyAmountRowService {

//    @Resource
//    private ApplyAmountRowRepository detailRepository;

//    @Resource
//    private ApplyAmountRowWriteOffRecordRepository recordRepository;

//    /**
//     * 根据单据ID查询所有请款单行明细中状态为已付款的付款金额累计
//     * @param billId 单据ID
//     * @return 累计已付款金额
//     */
//    @Override
//    public BigDecimal getTotalPaidAmountByBillId(Long billId) {
//
//        List<ApplyAmountRowDO> entity = detailRepository.findAllByBillIdAndStatus(billId, ApplyAmountStatusEnum.PAID.getCode());
//
//        return CollectionUtils.isEmpty(entity) ? BigDecimal.ZERO : entity.stream().map(ApplyAmountRowDO::getPaid).reduce(BigDecimal.ZERO,BigDecimal::add);
//    }

//    /**
//     * 根据单据ID查询所有请款单行明细中状态为未付款的请款金额累计
//     * @param billId 单据ID
//     * @return 累计已请款未付款金额
//     */
//    @Override
//    public BigDecimal getTotalApplyPaymentByBillId(Long billId) {
//
//        List<ApplyAmountRowDO> entity = detailRepository.findAllByBillIdAndStatusNot(billId, ApplyAmountStatusEnum.PAID.getCode());
//
//        return CollectionUtils.isEmpty(entity) ? BigDecimal.ZERO : entity.stream().map(ApplyAmountRowDO::getPaid).reduce(BigDecimal.ZERO,BigDecimal::add);
//    }

}
